package com.moli.iov.manager.model.dto;

import com.moli.iov.manager.ManagerConstant;
import com.moli.iov.manager.enums.DictTypeTag;
import lombok.Data;

import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;

/**
 * @ClassName DictMap
 * @Description TODO
 * @Author 李伟松
 * @CreateDate 2019-06-28 下午 5:20
 * @UpdateDate 2019-06-28 下午 5:20
 * @Version 1.0
 */
@Data
public class DictMap implements Serializable {

    Map<String,Map<String,String>> map ;

    public DictMap(){
        map = new HashMap<>();
    }

    public String get(DictTypeTag tag, String code){
        if(tag!=null && code!=null && !code.equals("")){
            Map<String, String> tmp = map.get(tag.getType());
            if(tmp!=null){
                return tmp.get(code);
            }
        }
        return null;
    }

    public void put(String value){
        if(value!=null && !("").equals(value)){
            String[] vals = value.split(ManagerConstant.DICT_MAP_TYPECODEVALUE_CONNECTOR);
            for (String val : vals) {
                if(val!=null && !("").equals(val)){
                    String[] tmpVal = val.split(ManagerConstant.DICT_MAP_TYPE_CONNECTOR);
                    if(tmpVal!=null && tmpVal.length==3){
                        Map<String, String> tmp = map.get(tmpVal[0]);;
                        if(tmp==null){
                            tmp = new HashMap<>();
                        }
                        tmp.put(tmpVal[1],tmpVal[2]);
                        map.put(tmpVal[0],tmp);
                    }
                }
            }
        }
    }

}
